perm filename RUNP2.SAI[PUB,TES]1 blob
sn#130590 filedate 1974-11-08 generic text, type T, neo UTF8
00100 BEGOF("RUNP2")
00200
00300 COMMENT
00400
00500 *** Variations at Different Sites are Extensive ***
00600
00700 ;
00800
00900 PROCEDURES
00100 PUBLIC SIMPLE PROCEDURE INTERMEDIATEFILES ;$"#
00200 BEGIN "INTERMEDIATEFILES"
00300 L ← WRITEON(FALSE,IFC TENEX THENC IFILENAME&".FILES" ELSEC "PUPSEQ"&PUIEXT ENDC) ;
00400 OUT(L, TMPFILE&ALTMODE&OUTFILE&ALTMODE&CVSR(DEBUG)&CVSR(ABS(DEVICE))&DELINT&ALTMODE) ;
00500 OUT(L, CVSR(LOFONT)&CVSR(HIFONT)) ; TES 8/24/74 ;
00600 FOR J ← LOFONT THRU HIFONT DO OUT(L, FNTNAME[J]&ALTMODE) ; TES 8/24/74 ;
00700 TES 1/7/74 ;
00800 IFC PARCVER THENC
00900 IF ABS(DEVICE)=XGP THEN
01000 BEGIN
01100 CMDFILE ← NULL ;
01200 FOR J ← 1 THRU HIFONT DO CMDFILE ← CMDFILE &
01300 (IF NULSTR(XFNTNAME[J]) THEN "F DEFONT" & CR
01400 ELSE "F " & XFNTNAME[J] & CR) ;
01500 OUT(L,CMDFILE&ALTMODE)
01600 END
01700 ELSEC
01800 IFC SAILVER THENC
01900 IF ABS(DEVICE)=XGP THEN
02000 OUT(L,CMDFILE&(IF SIMLOOK("!XGPCOMMANDS") THEN
02100 EVALV("!XGPCOMMANDS", SYMIX, SYMTYPE) ELSE NULL)
02200 & ALTMODE)
02300 ELSEC
02400 IFC ITSVER THENC PJ 8/24/74 ;
02500 IF XCRIBL THEN
02600 BEGIN "WRITECMD"
02700 STRING CMDLINE; INTEGER BRC;
02800 IF SIMLOOK("!XGPCOMMANDS") THEN
02900 BEGIN
03000 CMDLINE←EVALV("!XGPCOMMANDS",SYMIX,SYMTYPE);
03100 SETBREAK(LOCAL_TABLE," SWAP ",NULL,"IS");
03200 DO OUT(L,SCAN(CMDLINE,LOCAL_TABLE,BRC)&CRLF) UNTIL BRC NEQ "↔";
03300 SETBREAK(LOCAL_TABLE,NULL,NULL,"IS");
03400 END;
03500 OUT(L,CMDFILE&ALTMODE);
03600 END "WRITECMD"
03700 ELSEC
03800 IF FALSE THEN BEGIN END
03900 ENDC ENDC ENDC
04000 ELSE OUT(L, ALTMODE) ;
04100 OUT(L, VUNDERLINE & ALTMODE) ; TES 10/22/73 ;
04200 OUT(L,CVSR(CHARW));
04300 OUT(L, CVSR(IF NEEDMILLVERTI THEN -MILLVERTI ELSE MILLVERTI)) ;
04350 TES 11/2/74 NORMAL INTER-LINE SPACING ;
04400 OUT(L,CVSR(BASELINE));
04500 OUT(L,CVSR(DOPASS3)); RKJ: 1-4-74;
04600 OUT(L, CVSR(VBPI)&CVSR(HBPI)&CVSR(MINLFTMAR)) ;
04700 OUT(L,LF);
04800 IFC TENEX THENC COMMENT PASS2 COMMUNICATION FILE ;
04900 J←OPENFILE(JOBNO&".PASS2","WT") ;
05000 OUT(J, IFILENAME & ALTMODE) ;
05100 RELEASE(J) ;
05200 ENDC
05300 J ← PORSEQ(PORTLL) ;
05400 IFC NOT TENEX THENC OPEN(K ← GETCHAN, "DSK", 0,1,0,20, BRC, EOF) ; ENDC
05500 WHILE J > 0 DO
05600 BEGIN
05700 M← PORSTR(J) ; TES 3/20/74 ;
05800 IF FULSTR(PORINT(M)) THEN OUT(L, PORINT(M) & ALTMODE) ;
05900 IF PORCH(J) = -5 OR PORSEQ(J) < 0 THEN WARN("=","INSERT PORTION not found") ;
06000 IF FULSTR(PORFIL(M)) THEN
06100 FOR N←0,1 DO IF N=0 OR PORCH(J)=-6 THEN
06200 BEGIN COMMENT DELETE GENERATED FILES ;
06300 IFC TENEX THENC
06400 K ← OPENFILE(IFILENAME&(CASE N OF (GENEXT,ALFEXT))&PORFIL(M)&";*", "RO*") ;
06500 DO DELF(K) UNTIL NOT INDEXFILE(K) ;
06600 ELSEC
06700 LOOKUP(K, PORFIL(M) & (CASE N OF(PUGEXT,PUZEXT)), DUMMY) ;
06800 RENAME(K, NULL, 0, DUMMY) ;
06900 ENDC
07000 END ;
07100 J ← PORSEQ(J) ;
07200 END ;
07300 RELEASE(L) ; RELEASE(K) ;
07400 END "INTERMEDIATEFILES" ;
00100 PUBLIC PROCEDURE RUNPASS2 ;$"#
00200 BEGIN "RUNPASS2"
00800 IFC TENEX THENC TES 10/25/73 ;
00900 BEGIN "PASS 2"
01000 IF (EQU(CONDIR,"PUB") OR EQU(CONDIR,"TESLER")) AND (J←GTJFN("PUB2.SAV",0))>-1 THEN
01100 BEGIN
01200 RLJFN(J) ;
01300 RUNPRG("PUB2.SAV",1,0) ;
01400 END
01500 ELSE RUNPRG("<SUBSYS>PUB2.SAV",1,0) ;
01600 END "PASS 2"
01700 ENDC
01800 IFC CMUVER THENC
01900 BEGIN "PASS 2" TES 10/8/74 CHANGED TO CALL RUNLIBPROG ;
02000 STRING S;
02100 S←CVXSTR(CALL('777777000003,"GETTAB"))&"2";
02200 SETBREAK(1,NULL," ","IS");
02300 RUNLIBPROG(SCAN(S,1,DUMMY)); RKJ: 28-SEP-74 NEW CALLING SEQUENCE ;
02350 START!CODE CALLI 0,'12 END ;
02400 END "PASS 2"
02500 ENDC
02600 IFC SAILVER OR ITSVER THENC
02700 BEGIN "PASS 2"
02800 IFC SAILVER
02900 THENC DEFINE PUB2!DMP=["PUB2.DMP"];
03000 ELSEC DEFINE PUB2!DMP=["TS PUB2"]; ENDC PJ 5/27/74 ;
03100 INTEGER SIMPLE PROCEDURE CORELOC(INTEGER ARRAY A) ; START!CODE MOVE 1,A ; END ;
03200
03300 INTEGER ARRAY SECONDPASS[0:4] ;
03400 EXTERNAL SIMPLE PROCEDURE K!OUT ; K!OUT ; COMMENT * * * * * * * * * * * ;
03500 SECONDPASS[0] ← CVSIX("DSK") ; SECONDPASS[1] ← CVFIL(PUB2!DMP&LIBPPN, SECONDPASS[2], SECONDPASS[4]) ;
03600 SECONDPASS[3] ← 1 ; COMMENT Do an RPGSTART so DEVICE will be taken from PUI file ;
03700 CALL(CORELOC(SECONDPASS), "SWAP") ;
03800 END "PASS 2"
03900 ENDC
04000 END "RUNPASS2" ;
00100 FINISHED
00200
00300 ENDOF("RUNP2")